import urllib.parse

# 包含中文字符的 URL 参数
url_param = '中文参数'

# 对 URL 参数进行 URL 编码
encoded_param = urllib.parse.quote(url_param, safe='')

# 打印 URL 编码结果
print('URL 编码结果:', encoded_param)
#URL 编码结果: %E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0

# 对 URL 编码结果进行解码
decoded_param = urllib.parse.unquote(encoded_param)

# 打印 URL 解码结果
print('URL 解码结果:', decoded_param)
#URL 解码结果: 中文参数


# 执行本句代码之前，需先安装 urlquote 库： 
# pip install -i http://mirrors.aliyun.com/pypi/simple/  urlquote
from urlquote import quote
quoted = quote('/中文参数/')
assert(quoted == '/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0/'.encode('utf-8'))
# 这里执行后没报错，说明 '/中文参数/' 编码后的结果为 '/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0/'

#开始url解码：
urlquote.unquote('/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0/'.encode('utf-8'))
# b'/\xe4\xb8\xad\xe6\x96\x87\xe5\x8f\x82\xe6\x95\xb0/'
# 以上解码出的是UTF8编码的 bytes 类似的数据

# 所以要按utf8 方式decode()后再打印
urlquote.unquote('/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0/'.encode('utf-8')).decode()
# '/中文参数/'
# 以上是打印结果，说明解码成功。